pMatlab Takes the HPCchallenge
نویسندگان
چکیده
The HPCchallenge benchmark suite has been released by the DARPA HPCS program to help define the performance boundaries of future Petascale computing systems. The suite is composed of several well known computational kernels (STREAM, Top500, FFT, and RandomAccess) that span high and low spatial and temporal locality. These kernels also encompass key aspects of embedded signal processing: vector computations, matrix multiplies, corner turns and random selection operations. MATLAB® is the primary high level language used within the signal processing community and is increasingly used for large system simulations and quickly processing data in the field. The pMatlab parallel MATLAB toolbox provides the necessary global array semantics to allow HPCchallenge to be implemented. The results provide a unique opportunity to probe both the relative (pMatlab vs. MATLAB) and absolute (pMatlab vs. C/Fortran+MPI) merits of pMatlab. Specifically, for each kernel in HPCchallenge we examine code size, maximum problem size, and performance. We find pMatlab code to be approximately 10x smaller than the equivalent C/MPI code. The problem sizes possible using pMatlab scale linearly with the number of processors (e.g. we are able to FFT a 2 complex vector on 16 CPUS), and are comparable to the corresponding C/Fortran+MPI code. Finally, the scalability of the kernels approaches that of the C/Fortran+MPI code. Introduction The HPCchallenge The DARPA High Productivity Computing Systems (HPCS) program has initiated a fundamental reassessment of how we define and measure performance, programmability, portability, robustness and, ultimately, productivity in the HPC domain [1]. With this in mind, HPCchallenge is designed to approximately bound computations of high and low spatial and temporal locality for Petascale systems. Figure 1 illustrates the approximate spatial/temporal relationship of the different kernels and the connections to important operations in the embedded signal processing community. In addition, because HPCchallenge consists of simple mathematical operations, this provides a unique opportunity to look at language and parallel programming model issues. This paper compares traditional C/Fortran+MPI with MATLAB using global array semantics. 1 This work is sponsored by Defense Advanced Research Projects Administration, under Air Force Contract F19628-00-C-0002. Opinions, interpretations, conclusions and recommendations are those of the author and are not necessarily endorsed by the United States Government. 2 MATLAB is a registered trademark of The Mathworks, Inc. (Matrix Multiply) (Corner-turn) (Vector Operations) (Detection)
منابع مشابه
'pMATLAB Parallel MATLAB Library'
MATLAB® has emerged as one of the languages most commonly used by scientists and engineers for technical computing, with approximately one million users worldwide. The primary benefits of MATLAB are reduced code development time via high levels of abstractions (e.g. first class multi-dimensional arrays and thousands of built in functions), interpretive, interactive programming, and powerful mat...
متن کاملToward Mega-Scale Computing with pMatlab
The MIT Lincoln Laboratory Grid (LLGrid) team has developed pMatlab [3], a parallel MATLAB toolkit that makes parallel programming with MATLAB accessible and simple by using two partitioned global address space (PGAS) data types, parallel maps and distributed arrays. This enables pMatlab programmers to work in their familiar environment of numerical arrays and to parallelize their serial codes ...
متن کاملHigh-productivity software development with pMatlab
Citation Mullen, J. et al. " High-Productivity Software Development with pMatlab. Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use. The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters.
متن کاملIntroduction to Parallel Programming and pMatlab v2.0
The computational demands of software continue to outpace the capacities of processor and memory technologies, especially in scientific and engineering programs. One option to improve performance is parallel processing. However, despite decades of research and development, writing parallel programs continues to be difficult. This is especially the case for scientists and engineers who have limi...
متن کاملIntroduction to the HPCChallenge Benchmark Suite∗
The HPCChallenge suite of benchmarks will examine the performance of HPC architectures using kernels with memory access patterns more challenging than those of the High Performance Linpack (HPL) benchmark used in the Top500 list. The HPCChallenge suite is being designed to augment the Top500 list, provide benchmarks that bound the performance of many real applications as a function of memory ac...
متن کامل